package com.ruoyi.mapper.achievements;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author zeo
 * @explain 绩效人员管理控制层
 * @date 2020/8/24 9:45
 */
public interface AcvEmpManageMapper {


    /**
     * 根据姓名查询数量
     *
     * @param userName
     * @return
     */
    int findCountByUserName(String userName);

    /**
     * 根据登录名查询数量
     *
     * @param loginName
     * @return
     */
    int findCountByLoginName(String loginName);

    /**
     * 根据工号查询用户信息
     *
     * @param userId
     * @return
     */
    Map findUserInfo(String userId);

    /**
     * 新增打分人
     *
     * @param map
     * @return
     */
    int addExamine(Map map);

    /**
     * 获取树形人员数据
     *
     * @param map
     * @return
     */
    List<Map> list(Map map);

    List<Map> findSuperiorAndSubordinate(@Param("examinListId") String examinListId, @Param("examinListName") String examinListName);

    /**
     * 新增被考核人
     *
     * @param map
     * @return
     */
    int add(Map map);

    int addExaminee(Map map);

    /**
     * 修改打分人
     *
     * @param map
     * @return
     */
    int editScoring(Map map);

    /**
     * 根据ID获取考核人信息
     *
     * @return
     */
    Map findExamineeByUserId(String userId);

    /**
     * 修改审核人
     *
     * @param map
     * @return
     */
    int edit(Map map);


    /**
     * 删除审核人
     *
     * @param userId
     * @return
     */
    int remove(String userId);

    /**
     * 添加打分角色
     *
     * @return
     */
    int addScoringRole();

    int findExamineeCountBySuperUserId(int superId);

    int findEmpCountBySuperUserId(int superId);

    int updateScoreUserInvalid(int userId);

    List<Map<String, Object>> findScorerList(String userId);

    Map findTwoWay(@Param("name") String name, @Param("badge") String badge);

    int insertTwoWay(Map map);

    int findTwoWayCount(@Param("name") String name, @Param("badge") String badge);

    int deleteTwoWay(@Param("name") String name, @Param("badge") String badge);

}
